#if !defined(AFX_DIAGRAMDLG_H__604482F7_E123_4DC1_B980_0F0B6D947012__INCLUDED_)
#define AFX_DIAGRAMDLG_H__604482F7_E123_4DC1_B980_0F0B6D947012__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// DiagramDlg.h : header file
//
#include "CodePlotter\textdiagramctrl.h"
#include "CodePlotter\maskedit.h"

/////////////////////////////////////////////////////////////////////////////
// CDiagramDlg dialog

//##ModelId=431C34CC00BB
class CDiagramDlg : public CDialog
{
// Construction
public:
	//##ModelId=431C34CC00CC
	CDiagramDlg(LPCTSTR szDiagram = NULL,CWnd* pParent = NULL);   // standard constructor

	//##ModelId=431C34CC00EA
	BOOL GetDiagram(CString& sDiagram);

	//##ModelId=431C34CC00ED
	CTextDiagramCtrl m_ctrlDiagram;
	//##ModelId=431C34CC00FB
	CTextDiagram m_diagramBackup;

// Dialog Data
	//{{AFX_DATA(CDiagramDlg)
	enum { IDD = IDD_DIAGRAM_DLG };
		// NOTE: the ClassWizard will add data members here
	//}}AFX_DATA


// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CDiagramDlg)
	protected:
	//##ModelId=431C34CC010B
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//##ModelId=431C34CC0119
	CString m_strDiagram;
	// Generated message map functions
	//{{AFX_MSG(CDiagramDlg)
	//##ModelId=431C34CC011A
	virtual BOOL OnInitDialog();
	//##ModelId=431C34CC0129
	afx_msg void OnBtnNewBox();
	//##ModelId=431C34CC0139
	afx_msg void OnBtnEditText();
	//##ModelId=431C34CC013B
	afx_msg void OnBtnDeleteBox();
	//##ModelId=431C34CC0149
	afx_msg void OnBtnNewConnect();
	//##ModelId=431C34CC0157
	afx_msg void OnBtnClear();
	//}}AFX_MSG
	//##ModelId=431C34CC0167
	afx_msg void OnDiagramSelChange(TDNHDR* pTDHdr, LRESULT* pResult = 0);
	//##ModelId=431C34CC0178
	afx_msg void OnDiagramRectMove(TDNHDR* pTDHdr, LRESULT* pResult = 0);
	//##ModelId=431C34CC0196
	afx_msg void OnDiagramInternalError(TDNHDR* pTDHdr, LRESULT* pResult = 0);
	//##ModelId=431C34CC01A5
	afx_msg void OnDiagramDblClk(TDNHDR* pTDHdr, LRESULT* pResult = 0);
	//##ModelId=431C34CC01B7
	afx_msg void OnDiagramImplNewConn(TDNHDR* pTDHdr, LRESULT* pResult = 0);
	DECLARE_MESSAGE_MAP()

	//##ModelId=431C34CC01D4
	BOOL EnableOK(); // returns whether the OK button is enabled or not
	//##ModelId=431C34CC01D5
	void SetDiagram(LPCTSTR szDiagram);
	//##ModelId=431C34CC01E5
	void EditConnection(int nConn);
	//##ModelId=431C34CC01F4
	void UpdateControls();
};

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_DIAGRAMDLG_H__604482F7_E123_4DC1_B980_0F0B6D947012__INCLUDED_)
